Telegram Group & Telegram Channel
Самые интересные фичи Python 3.12, которые уже можно тестить и встраивать в проекты


1️⃣ Улучшенный match-case

Теперь можно использовать «захват» значений прямо в паттернах:


def http_status(code):
match code:
case 200 | 201 | 202 as ok:
return f"Success: {ok}"
case 400 as bad | 404 as bad:
return f"Client error: {bad}"
case _:
return "Other"


Большая гибкость и меньше «шаблонных» переменных!



2️⃣ Новый оператор f”{…=}" для отладки

Позволяет вывести и имя, и значение переменной в одной строке:


user = "Alice"
age = 29
print(f"{user=}, {age=}")
# Выведет: user='Alice', age=29


Больше никаких лишних print("user", user)!



3️⃣ Оптимизация работы с памятью и скорость

Команда CPython продолжает ускорение интерпретатора:

* Выделение объектов стало быстрее
* Сборщик мусора реже «паузит» приложение

Это особенно заметно в тяжёлых сервисах и бэкендах.



4️⃣ Новые API для типов

Добавили typing.Self и более гибкие Generic-типизации:


from typing import Self

class Builder:
def set_name(self, name: str) -> Self:
self.name = name
return self

b = Builder().set_name("Demo")


Удобнее писать цепочки вызовов без «# type: ignore»!



💡 Что попробовать прямо сейчас?

1. Установить Python 3.12 pre-release:


pyenv install 3.12.0b4

2. Переписать пару функций с match-case.
3. Пощупать f"{var=}" в дебаге.

👉@BookPython



tg-me.com/BookPython/3674
Create:
Last Update:

Самые интересные фичи Python 3.12, которые уже можно тестить и встраивать в проекты


1️⃣ Улучшенный match-case

Теперь можно использовать «захват» значений прямо в паттернах:


def http_status(code):
match code:
case 200 | 201 | 202 as ok:
return f"Success: {ok}"
case 400 as bad | 404 as bad:
return f"Client error: {bad}"
case _:
return "Other"


Большая гибкость и меньше «шаблонных» переменных!



2️⃣ Новый оператор f”{…=}" для отладки

Позволяет вывести и имя, и значение переменной в одной строке:


user = "Alice"
age = 29
print(f"{user=}, {age=}")
# Выведет: user='Alice', age=29


Больше никаких лишних print("user", user)!



3️⃣ Оптимизация работы с памятью и скорость

Команда CPython продолжает ускорение интерпретатора:

* Выделение объектов стало быстрее
* Сборщик мусора реже «паузит» приложение

Это особенно заметно в тяжёлых сервисах и бэкендах.



4️⃣ Новые API для типов

Добавили typing.Self и более гибкие Generic-типизации:


from typing import Self

class Builder:
def set_name(self, name: str) -> Self:
self.name = name
return self

b = Builder().set_name("Demo")


Удобнее писать цепочки вызовов без «# type: ignore»!



💡 Что попробовать прямо сейчас?

1. Установить Python 3.12 pre-release:


pyenv install 3.12.0b4

2. Переписать пару функций с match-case.
3. Пощупать f"{var=}" в дебаге.

👉@BookPython

BY Библиотека Python разработчика | Книги по питону


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/BookPython/3674

View MORE
Open in Telegram


Библиотека Python разработчика Telegram | DID YOU KNOW?

Date: |

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

In many cases, the content resembled that of the marketplaces found on the dark web, a group of hidden websites that are popular among hackers and accessed using specific anonymising software.“We have recently been witnessing a 100 per cent-plus rise in Telegram usage by cybercriminals,” said Tal Samra, cyber threat analyst at Cyberint.The rise in nefarious activity comes as users flocked to the encrypted chat app earlier this year after changes to the privacy policy of Facebook-owned rival WhatsApp prompted many to seek out alternatives.Библиотека Python разработчика from kr


Telegram Библиотека Python разработчика | Книги по питону
FROM USA